package study.SCADA网关解析;

/**
 * @Author 刘伟涛
 * @Date 2024/8/13 16:54
 **/
public class 检验码计算 {

        public static void main(String[] args) {
            // 定义十六进制数值的数组
            String[] hexValues = {"A0", "04", "00", "06", "66", "01", "42", "43", "00", "00", "05", "A1", "19", "03", "14", "19", "26", "03"};

            // 初始化结果为第一个数值
            int cumulativeXor = Integer.parseInt(hexValues[0], 16);

            // 对数组中的每个数值依次进行异或操作
            for (int i = 1; i < hexValues.length; i++) {
                cumulativeXor ^= Integer.parseInt(hexValues[i], 16);
            }

            // 将结果转换为十六进制表示
            String finalHexXor = Integer.toHexString(cumulativeXor).toUpperCase();

            // 输出最终的结果
            System.out.println("最终的异或结果是: 0x" + finalHexXor);
        }

}
